﻿/*----------------------------------------------------------------
    // Copyright (C) 2009 江苏华招网
    // 版权所有。 
    // 作者：庄金冬 
    //
    // 文件名：DAL_ManageOrg.cs
    // 文件功能描述：管理机构数据访问逻辑
    // 创建标识：庄金冬2009-03-06
    //
    // 修改标识：
    // 修改描述：
    //
    // 修改标识：
    // 修改描述：
    //
    // 审核人：
    // 审核时间：
    // 审核说明：
 //----------------------------------------------------------------*/
using System;
using System.Collections.Generic;

using System.Text;
using HZ.DrugTrade.Model;
using HZ.Common;
using System.Data;
using System.Data.SqlClient;
namespace HZ.DrugTrade.DAL
{
    /// <summary>
    /// 管理机构数据访问逻辑
    /// </summary>
    public class DAL_ManageOrg
    {
        /// <summary>
        /// 获取所有管理机构
        /// </summary>
        /// <returns>所有管理机构</returns>
        public static IList<ManageOrg> GetAllManageOrg()
        {
            string sql_GetAllManageOrg = @"SELECT * FROM TB_ManageOrg ";
            return HZ.Data.DAL_Helper.GetModelList<ManageOrg>(sql_GetAllManageOrg, null);
        }

        /// <summary>
        /// 编辑管理机构
        /// </summary>
        /// <returns>True:成功;False:失败</returns>
        public static bool UpdateManageOrg(ManageOrg manageOrg)
        {
            return true;
        }

        /// <summary>
        /// 删除管理机构
        /// </summary>
        /// <param name="ManageOrg">管理机构</param>
        /// <returns>0.删除失败;1.删除成功;2.已被使用不能删除;</returns>
        public static int DeleteManageOrg(ManageOrg manageOrg)
        {
            return 1;
        }

        /// <summary>
        /// 添加管理机构
        /// </summary>
        /// <param name="ManageOrg">管理机构</param>
        /// <returns>0.添加失败;1.添加成功;2.已经存在;</returns>
        public static int AddManageOrg(ManageOrg manageOrg)
        {
            return 1;
        }

        /// <summary>
        /// 获取所有未注册管理机构
        /// </summary>
        /// <returns>所有未注册管理机构</returns>
        public static IList<ManageOrg> GetAllUnregManageOrg()
        {
            //删除as
            string sql_GetAllUnregManageOrg = @"SELECT DISTINCT 	ManageOrgID,
	AreaID,
	ManageOrgName FROM (
	SELECT     *
FROM         TB_ManageOrg LEFT OUTER JOIN
                      TB_Role_User ON TB_ManageOrg.ManageOrgID = TB_Role_User.OrgID AND TB_Role_User.IsAdmin = 1  AND TB_Role_User.RoleID <>'02' AND TB_Role_User.RoleID <>'01'
)  TT
WHERE TT.UserID IS NULL";

            DataTable dt = HZ.Data.DbHelperFactory.Create().ExecuteTable(sql_GetAllUnregManageOrg);
            IList<ManageOrg> m_list = new List<ManageOrg>();
            foreach (DataRow item in dt.Rows)
            {
                m_list.Add(new ManageOrg()
                {
                    ManageOrgID = item["ManageOrgID"].ToString(),
                    ManageOrgName = item["ManageOrgName"].ToString(),
                    Area = new Area()
                    {
                        AreaID = item["AreaID"].ToString()
                    }
                });
            }
            return m_list;
        }
    }
}
